In wireless systems, a single node, such as a base station, has data packets to be transmitted to a number of destination nodes. Packet transmissions to the destination nodes may be separated in time, space, frequency and/or code. A limited number of packets may normally be transmitted at a specific time, and are multiplexed in space, frequency and/or code. The determination of which packets to transmit at the specific time, in which direction, at which frequency and using which code is determined by a scheduler within the node.
In one example, packets are available for transmission to m different nodes out of a total of n (n>2) active nodes (o≦m≦n) from the transmitting node at a certain time t, whereas the transmitting node can only transmit a single packet. For the transmitting node, not all of the m receiving nodes are equally suitable to transmit to since the channel conditions may be different for different frequencies, directions and codes. Moreover, the channel conditions from the transmitting node to a receiving node i (1≦i≦n) may change over time. The goal of the scheduler is to transmit all packets at the proper time.
A number of basic scheduling mechanisms exist. Examples of these include round-robin, and a range of channel-independent fair queuing schedulers. Some scheduling mechanisms taking channel conditions into account have been proposed such as those described in Kenneth S. Lee, Magda El Zarki, “Comparison of Different Scheduling Algorithms for Packetized Real-Time Traffic Flows”, Proceedings of 4th International Symposium on Wireless Personal Multimedia Communications (WPMC'01), Aalborg, Denmark, Sep. 9–12, 2001; and Xin Liu, Edwin K. P. Chong, Ness B. Shroff, “Opportunistic Transmission Scheduling With Resource-Sharing Constraints in Wireless Networks”, IEEE Journal on Selected Areas in Communications, Vol. 19, No. 10, October 2001. These mechanisms defer packets to nodes with unfavorable channel conditions for a period of time and transmit packets to other nodes instead.
The problem with round robin based and fair queuing based scheduling mechanisms comes from their inability to take advantage of changing channel conditions. Thus, these mechanisms may try to send data to nodes during a time of difficult channel conditions, resulting in transmission errors, increased power due to power control (and hence increased interference) in CDMA systems, or decreased data rate. Existing channel-dependent scheduling mechanisms tend to be unfair, because receiving nodes, positioned close to the sending nodes tend to get better treatment (more throughput) than receiving nodes positioned further away from the transmitting node. Existing solutions to this problem need either information about deadlines for data packets or assumptions on traffic load in order to provide fairness based on past traffic. Thus, there is a need for improved mechanism within channel-dependent scheduling that will provide a more fair result.